package com.xian.im.common.model.from;

import com.xian.im.common.model.BaseForm;
import com.xian.im.common.model.dto.GroupDto;
import com.xian.im.common.validator.group.AddGroup;
import com.xian.im.common.validator.group.UpdateGroup;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

/**
 * @program: xian-code
 * @description:
 * @author: liru.xian
 * @create: 2021-01-18 20:16
 **/
@ApiModel(
        value = "群组消息"
)
@Data
public class GroupFrom extends BaseForm<GroupDto> {

    /**
     * 群组名称
     */
    @NotBlank(groups = AddGroup.class,message = "群组名称 不能为空")
    @ApiModelProperty("群组名称")
    private String name;
    /**
     * 简介
     */
    @ApiModelProperty("简介")
    private String introduction;
    /**
     * 公告
     */
    @ApiModelProperty("公告")
    private String notification;
    /**
     *  IM 通讯账号  空自动生成系统唯一ID
     */
    @NotBlank(groups = UpdateGroup.class,message = "id 不能为空")
    @ApiModelProperty("IM 通讯账号  空自动生成系统唯一ID")
    private String groupUniqueId;
    /**
     * 0 正常 1 禁言
     */
    @ApiModelProperty("默认 0  0 正常 1 禁言")
    private Boolean shutUp;

    /**
     * 租户ID
     */
    @NotNull(groups = AddGroup.class,message = "租户ID 不能为空")
    @ApiModelProperty("租户ID")
    private Long orgId;
    /**
     * 群主
     */
    @NotBlank(groups = AddGroup.class,message = "群主账号 不能为空")
    @ApiModelProperty("群主账号")
    private String ownerAccount;
    /**
     * 群类型 0 直播间群组 1 普通群组
     */
    @ApiModelProperty("群类型 0 直播间群组")
    @NotNull(groups = AddGroup.class,message = "群类型 不能为空")
    private Integer type;

}
